#ifndef _KC_SSLSERVER_H__KC_
#define _KC_SSLSERVER_H__KC_

#include <openssl/ssl.h>
#include <boost/thread/mutex.hpp>
#include "../tcp/TCPServer.h"
#include "SSLServerSession.h"

namespace kc_sf
{
	class SSLServer : public TCPServer
	{
		public:

			SSLServer( int port, int max_connections, CommRequestHandler *client_handler );
			virtual ~SSLServer();

//			std::list<int> getOpenConnectionSockets ();
//			void closeConnection( int client_sock );
//			void closeAllConnections ();

		private:

//		    typedef std::pair <int, SSLServerSession *> SSLSocket;
//		    std::list<SSLSocket > ssl_clients;
//		    boost::mutex ssl_clients_guard;

//		    int acceptClient ();
//			void closeConnection( int sockfd, SSLServerSession *ssl_session );
	};
}

#endif // _KC_SSLSERVER_H__KC_
